package com.itheima.dubbo.service;

import com.itheima.dubbo.User;
import com.itheima.dubbo.UserFace;
import org.apache.dubbo.config.annotation.DubboService;
import org.apache.dubbo.config.annotation.Method;
import org.apache.dubbo.rpc.RpcContext;

//@DubboService  //标识服务提供方的注解 ,
 // @DubboService(timeout = 1000)  //标识服务提供方的注解 超时时间 --接口级别
/*  @DubboService(methods = {
          @Method(name="getById",
          timeout = 1800)
  })  //标识服务提供方的注解 超时时间 在方法上*/
//@DubboService(retries = 1)//设置重试次数
// @DubboService(version = "1.0.0") // 灰度发布-版本号
@DubboService
public class UserFaceImpl implements UserFace {
    @Override
    public String hello(String username) {
        return "你好"+username;
    }

    @Override
    public User getById(User user) {

        // 获取客户端隐式传入的参数，用于框架集成，不建议常规业务使用
        String index = RpcContext.getContext().getAttachment("index");
        System.out.println(index);


        System.out.println("UserFaceImpl getById  is run...........111111111 ");
        // 表示业务执行偏久
        try {
            Thread.sleep(200);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        return    new User(user.getId(),"上海黑马",7);

    }
}
